A Guide to Specialising Gödel Programs with the Partial Evaluator SAGE
نویسنده
چکیده
This document provides a description of the partial evaluator SAGE , a partial evaluator written in the logic programming language Gödel which specialises Gödel programs. Although capable of specialising any Gödel program SAGE was developed primarily to specialise meta-programs which use a ground representation. To assist users of SAGE this document gives an overview of SAGE , a manual for its use and a guide to writing Gödel programs, particularly meta-programs, in a style which makes them amenable to specialisation.
منابع مشابه
A self-applicable partial evaluator for the logic programming language Goedel
Partial evaluation is a program specialisation technique that has been shown to have great potential in logic programming, particularly for the specialisation of meta-interpreters by the so-called “Futamura Projections”. Meta-interpreters and other meta-programs are programs which use another program as data. In this thesis we describe a partial evaluator for meta-programs in the logic programm...
متن کاملA Self - Applicable Partial Evaluator for the Logic Programming Language
Partial evaluation is a program specialisation technique that has been shown to have great potential in logic programming, particularly for the specialisation of meta-interpreters by the so-called " Futamura Projections ". Meta-interpreters and other meta-programs are programs which use another program as data. The Futamura projections also show that partial evaluator which is self-applicable (...
متن کاملWhat Not to Do When Writing an Interpreter for Specialisation
A partial evaluator, given a program and a known “static” part of its input data, outputs a specialised or residual program in which computations depending only on the static data have been performed in advance. Ideally the partial evaluator would be a “black box” able to extract nontrivial static computations whenever possible; which never fails to terminate; and which always produces residual...
متن کاملBinding-Time Analysis for Polymorphic Types
Partial evaluation is by now a well-established technique for specialising programs [13], and practical tools have been implemented for a variety of programming languages [2, 1, 16, 5]. Our interest is in partial evaluation of modern typed functional languages, such as ML [18] or Haskell [14]. One of the key features of these languages is polymorphic typing [17], yet to date the impact of polym...
متن کاملLogimix: A Self-Applicable Partial Evaluator for Prolog
We present a self-applicable partial evaluator for a large subset of full Prolog. The partial evaluator, called Logimix, is the result of applying our experience from partial evaluation of functional languages to Prolog. Great care is taken to preserve the operational semantics of the partially evaluated programs, including the effects of non-logical predicates and side effects. At the same tim...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004